/**
 * Independent time operation tool to facilitate subsequent switch to dayjs
 */
// TODO 芋艿：【锁屏】可能后面删除掉
import dayjs from 'dayjs'

const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'
const DATE_FORMAT = 'YYYY-MM-DD'

export function formatToDateTime(date?: dayjs.ConfigType, format = DATE_TIME_FORMAT): string {
  return dayjs(date).format(format)
}

export function formatToDate(date?: dayjs.ConfigType, format = DATE_FORMAT): string {
  return dayjs(date).format(format)
}

export function isValidDateTime(dateTimeString) {
  if(!dateTimeString || (typeof dateTimeString != 'string')) return false
  // 定义一个正则表达式，用于匹配 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS 格式的日期时间
  const regex = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/;
  // 将输入字符串按逗号分割成数组
  const dateTimeArray = dateTimeString.split(',');

  // 遍历每个日期时间字符串进行验证
  for (const dt of dateTimeArray) {
      // 去除首尾空格
      const trimmedDt = dt.trim();
      // 检查是否匹配正则表达式
      if (!regex.test(trimmedDt)) {
          return false;  // 如果有任何一个不符合格式，则返回false
      }
  }

  return true;  // 所有日期时间都符合格式
}

export const dateUtil = dayjs
